1. Field of the Invention
The present invention generally relates to the field of website monitoring and load testing and more particularly relates to abstract simulations of monitoring and load testing based on pre-recorded scenarios of user interactions with a browser or operating system.
2. Related Art
Conventional website or web based application monitoring and load testing is typically accomplished by using a proprietary web browser to interact with a website. In order to accomplish website transaction monitoring, which simulates a user scenario at a website (such as purchasing a good, checking a stock quote etc.), two conventional methods are used. One method involves simply replaying a sequence of predefined static GET or POST requests. This method is deficient in that replaying a sequence of static (i.e., hardcoded) requests causes a transaction to fail for dynamic sites that contain information that often changes. The second conventional method requires the use of a proprietary browser that must examine, understand, and process all of the hypertext markup language (“HTML”) and Javascript that is sent to the browser for processing. For example, to simulate a simple click of the link “Men's Shirts” the browser must scan through the HTML, and look for this link:                <A HREF=”http://store.com?category=2342323”>Men's Shirts”</A>        
These conventional proprietary browsers must be able to parse through the HTML, find the associated text and then scan all of the HTML code near the target text to pick up the uniform resource locator (“URL”) to follow. This is the simplest case scenario. More sophisticated modern websites that employ dynamic hidden variables, form posts, Javascript logic, etc significantly complicate the proprietary nature of conventional solutions by requiring equally sophisticated capabilities in the proprietary browser. Some conventional solutions may also employ a combination of the two described methods.
Similarly, integrated applications that are hosted by websites are moving away from simple HTML pages to pages that involve more client-side application interpretation. Specifically new technologies such as Flash, ActiveX and Java Applets are sent to the browser to be executed in a “shell” within the browser. These integrated applications are effectively delivered to the local machine and are unrelated to the local web browser except that modern web browsers will run these integrated applications intertwined with a normal web page. For example, a Flash application might run in the upper right hand corner of a particular webpage or website, but in fact the Flash application is a discrete application that is running on the local machine. Such applications are very difficult to monitor by conventional website monitoring or load testing systems because the applications are both proprietary and delivered in a binary format.
Therefore what is needed is a system and method that overcomes these significant problems found in the conventional systems as described above.